/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyecto;

import java.util.ArrayList;
import java.util.Date;

/**
 *
 * @author manuel.pena3
 */
public class Controlador {
    
    public static Tarea crearTarea(){
        return new Tarea();
    }
    
    public static void eliminarTarea(Tarea tarea){
        int i = 0;
        
        while(i < tarea.getResponsables().size()){
            tarea.getResponsables().get(i).desasignarTarea(tarea);
            i++;
        }
        
        if(tarea.getProyecto().getTareas().contains(tarea))
            tarea.getProyecto().getTareas().remove(tarea);
        
        tarea.setProyecto(null);
        
        while(!tarea.getResponsables().isEmpty()){
            tarea.getResponsables().remove(0);
        }
    }
    
    public static void modificarTarea(Tarea tarea, String nome, Date fechaIn, Date fechaF){
        tarea.setFechaFin(fechaF);
        tarea.setFechaInicio(fechaIn);
        tarea.setNome(nome);
    }
    
    public static Proyecto crearProyecto(){
        return new Proyecto();
    }
    
    public static void eliminarProyecto(Proyecto proyecto){
        while(!proyecto.getTareas().isEmpty()){
            proyecto.getTareas().remove(0);
        }
        
        while(!proyecto.getResponsables().isEmpty()){
            proyecto.getResponsables().remove(0);
        }
    }
    
    public static void modificarProyecto(Proyecto proyecto, String nome, Date fechaIn, Date fechaF){
        proyecto.setFechaFin(fechaF);
        proyecto.setFechaInicio(fechaIn);
        proyecto.setNombre(nome);
    }
    
    public static void importarTareas(){
        System.out.print("No implementado aun");
    }
    
    public static void exportarTareas(){
        System.out.println("No implementado aún");
    }
    
    //Devolve menos 1 se o elemento buscado non existe
    //Devolve o índice do elemento no array se efectivamente existe
    public static int buscarTareas(Usuario usuario, String patron){
        int i = 0;
        
        while(i < usuario.getTareas().size()){
            if(usuario.getTareas().get(i).getNome().contains(patron))
                    return i;
            else
                i++;
        }
        
        return -1;
        
    }
    
    public static ArrayList<Tarea> verTareasPendientes(Usuario usuario){
        return usuario.getTareas();
    }
    
    public static ArrayList<Tarea> verTareasRealizadas(Usuario usuario){
        return usuario.getTareasFinalizadas();
    }
}
